package com.jhy.new2025.doubelpointer;

/**
 * 输入：nums = [3,2,2,3], val = 3
 * 输出：2, nums = [2,2,_,_]
 * 解释：你的函数函数应该返回 k = 2, 并且 nums 中的前两个元素均为 2 。
 * 你在返回的 k 个元素之外留下了什么并不重要（因此它们并不计入评测）。
 */
public class RemoveElement {
    public static int removeElement(int[] nums, int val) {
        /**
         * 快指针找和val相同的 如果想同fast就加 就跳过 不同的话就给慢指针上的位置复制
         */
        // 使用快慢指针的方法
        int fast = 0;
        int slow = 0;
        while (fast <= nums.length - 1) {
            if (nums[fast] != val) {
                nums[slow++] = nums[fast];
            }
            fast++;
        }
        return slow;
    }

    public static void main(String[] args) {
        int[] nums = new int[]{3, 2, 2, 3};
        int val = 3;
        int i = removeElement(nums, val);
        System.out.println(i);
    }
}
